1. Field of the Invention
Embodiments disclosed herein relates to a semiconductor memory device. More particularly, embodiments relate to a programming method of a multi bit flash memory device.
2. Description of the Related Art
When 1-bit data is stored in one memory, e.g., a flash memory, each memory cell has a threshold voltage that falls within one of two threshold voltage distributions, which correspond to data 1 or data 0. On the other hand, when 2-bit data is stored in a flash memory, each memory cell can have a threshold voltage falling within one of four threshold voltage distributions. Additionally, when 3-bit data is stored in a flash memory, each memory cell can have a threshold voltage falling within one of eight threshold voltage distributions. Various technologies for storing 4-bit data into one memory cell of a flash memory are known.
A memory cell of a flash memory device includes a transistor. Typically, the memory cells of a flash memory device are programmed by injecting electrons into the floating gates of the transistors, respectively. Due to manufacturing tolerances, there is variation in the rates at which the floating gates accumulate charge. For a given desired threshold voltage to which a set of the memory cells is to be programmed, the variation in charge accumulation rates will result in a circumstance that the desired threshold voltage falls within a distribution of resultant actual threshold voltages representing a desired threshold voltage state. Some of the memory cells will accumulate charge in their floating gates at a significantly higher rate than those rates that fall within a normal distribution of charge accumulation rates. The memory cells having the abnormally high charge accumulation rates are referred to as fast cells.
For a given duration of a program operation, during which charge is injected into a floating gate of a memory cell's transistor, fast cells will achieve relatively higher threshold voltages than normal cells, i.e., will be programmed into relatively higher threshold voltage states. This may result in a problem that the fast cells may fall within voltage threshold states that are higher than intended, representing programming errors. Techniques to correct programming errors are known. Such fast cell errors are a significant portion of the error correction load.